﻿using Newtonsoft.Json;
using System;
using System.Text.Json.Serialization;

namespace ThresholdAssistant.DataContract.Headers
{
    /// <summary>
    /// 企微的适配器头部信息模型
    /// </summary>
    [Serializable]
    public class WorkRobotHeader
    {
        /// <summary>
        /// 签名:sign=MD5(公共参数的值[按参数名升序排列]-sign+业务参数 +key）
        ///空值不参与签名
        ///举例：MD5(1720180190122020011300400197DeviceUserLogUpdateios_protocol1.1.0wxid_0p2pujkqnz3e2iPad7.0.4{ json数据}key)
        /// </summary>
        [JsonProperty("sign"), JsonPropertyName("sign")]
        public string Sign { get; set; }

        /// <summary>
        /// 接口的方法名，action名称
        /// </summary>
        [JsonProperty("method"), JsonPropertyName("sign")]
        public string Method { get; set; }

        /// <summary>
        /// 设备编号
        /// </summary>
        [JsonProperty("device-no"), JsonPropertyName("device-no")]
        public string DeviceNo { get; set; }

        /// <summary>
        /// 机器人类型/协议类型
        /// </summary>
        [JsonProperty("robot-type"), JsonPropertyName("robot-type")]
        public string RobotType { get; set; }

        /// <summary>
        /// 机器人Id
        /// </summary>
        [JsonProperty("robot-id"), JsonPropertyName("robot-id")]
        public string RobotId { get; set; }

        /// <summary>
        /// 协议类型
        /// </summary>
        [JsonProperty("protocol-type"), JsonPropertyName("protocol-type")]
        public string ProtocolType { get; set; }

        /// <summary>
        /// 控制台版本
        /// </summary>
        [JsonProperty("robot-version"), JsonPropertyName("robot-version")]
        public string AppVersion { get; set; }

        /// <summary>
        /// 微信全量版本
        /// </summary>
        [JsonProperty("work-version"), JsonPropertyName("work-version")]
        public string WxVersion { get; set; }

        /// <summary>
        /// 是否多终端登录
        /// </summary>
        [JsonProperty("multi-terminal"), JsonPropertyName("multi-terminal")]
        public bool Multiterminal { get; set; }
    }
}